package main

import "fmt"

func main() {
	//第七章：go语言的数组
	//定义二维数组
	var arr [3][2]int
	fmt.Println(arr)
	arr = [3][2]int{
		{1, 2},
		{3, 4},
		{5, 6},
	}
	fmt.Println(arr)
	//打印arr的地址
	fmt.Printf("%p\n", &arr)
	//打印arr[0]的地址
	fmt.Printf("%p\n", &arr[0])
	//打印arr[0][0]的地址
	fmt.Printf("%p\n", &arr[0][0])

	//二维数组赋值
	arr[0][0] = 100
	arr[0][1] = 200
	fmt.Println(arr)

	//初始化操作
	var arr1 [3][2]int = [3][2]int{
		{1, 2},
		{3, 4},
		{5, 6},
	}
	fmt.Println(arr1)

	//方式1 遍历二维数组
	for i := 0; i < len(arr1); i++ {
		for j := 0; j < len(arr1[i]); j++ {
			fmt.Println(arr1[i][j])
		}
	}

	//方式2 遍历二维数组
	for i, v := range arr1 {
		for j, v2 := range v {
			fmt.Printf("(%d,%d)=%d ", i, j, v2)
		}
		fmt.Println()
	}
}
